﻿// 优先单词接龙  WORDCHAIN.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
* https://algospot.com/judge/problem/read/WORDCHAIN
翻译：

问题：
끝말잇기는参与者围成一个圆圈坐下，顺时针轮流说单词的游戏。每个人说的单词的第一个字母必须与前一个人说的单词的最后一个字母相同。在限定词汇的末尾垒词结束游戏的方式中，与普通的垒词不同，可以使用的单词种类在游戏开始之前就已经确定，并且不能重复使用相同的单词。给定可用于限定词汇的单词列表，请编写一个程序来计算是否可以使用所有单词并结束游戏，如果可以，以什么顺序使用单词。

输入：
输入的第一行是测试用例的数量C（1 <= C <= 50）。
每个测试用例的第一行是可用于游戏的单词数量N（1 <= N <= 100）。
然后是N行，每行包含一个可用于游戏的单词。每个单词由小写字母组成，长度为2到10。单词不会重复出现。

输出：
对于每个测试用例，输出一行。如果无法使用所有单词并结束游戏，则输出"IMPOSSIBLE"；如果有可能，则按照顺序输出使用的单词，每个单词之间用一个空格隔开。如果存在多种可能的顺序，则输出其中任意一种即可。

示例输入：
3
4
dog
god
dragon
need
3
aa
ab
bb
2
ab
cd

示例输出：
need dog god dragon
aa ab bb
IMPOSSIBLE
*/
int main()
{
    std::cout << "Hello World!\n";
}

 